﻿using System;
using System.Collections.Generic;
using Xenta.Enums;

namespace Xenta.Entities
{
    /// <summary>
    /// Represents the account profile entity base.
    /// </summary>
    public abstract class AccountProfileEntity : AuditableEntity
    {
        #region Properties

        /// <summary>
        /// Gets or sets the account.
        /// </summary>
        public virtual AccountEntity Account
        {
            get;
            set;
        }

        #endregion

        #region Utilities

        protected override void Disclose(IDictionary<String, Object> obj,
            DisclosureLevel level,
            IDictionary<String, String> options)
        {
            base.Disclose(obj, level, options);
            if(level >= DisclosureLevel.Keys)
                obj["Account"] = Account.Disclose(level, options);
        }

        #endregion
    }
}
